package SpringMVC.cliente;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import SpringMVC.cotizacion.Cotizacion;

@Entity
@Table(name = "clientes")
@NamedQueries({
		@NamedQuery(name = Cliente.FIND_LIKE_NOMBRE, query = "select c from Cliente c where c.nombre like :nombre"),
		@NamedQuery(name = Cliente.FIND_ALL, query = "select c from Cliente c")

})
public class Cliente {

	public static final String FIND_LIKE_NOMBRE = "Cliente.findLikeNombre";
	public static final String FIND_ALL = "Cliente.findAll";
	
	@Id
	@GeneratedValue
	private Long id;

	private String nombre;
	private String apellido;
	private String direccion;
	private String dni;
	
	@OneToMany(fetch=FetchType.EAGER)
	private List<Cotizacion> cotizaciones;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getDireccion() {
		return direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	public String getApellido() {
		return apellido;
	}

	public void setApellido(String apellido) {
		this.apellido = apellido;
	}

	public String getDni() {
		return dni;
	}

	public void setDni(String dni) {
		this.dni = dni;
	}

	public List<Cotizacion> getCotizaciones() {
		return cotizaciones;
	}

	public void setCotizaciones(List<Cotizacion> cotizaciones) {
		this.cotizaciones = cotizaciones;
	}
}
